class GenericNumber<NumType>{
  zeroValue:NumType
  add:(x:NumType,y:NumType) =>NumType
}

/* let myGeneric = new GenericNumber<number>()
myGeneric.zeroValue = 0
myGeneric.add = function (x,y){
  return x + y
} */

let myGeneric = new GenericNumber<string>()
myGeneric.zeroValue = '111'
myGeneric.add = function (x,y){
  return x + y
}